package com.link.base.wechat.wxcard.model;

import java.util.List;

/**
 * 微信公众号卡券信息对象
 *
 * @author lujiang
 * @date 2019/02/26 17:00
 */
public class WxCardInfo  {
    /**
     * 卡券类型
     */
    private String cardType;
    /**
     * 卡券基础信息
     */
    private BaseInfo baseInfo;
    /**
     * 卡券高级信息
     */
    private AdvancedInfo advancedInfo;
    /**
     * 卡券id
     */
    private String cardId;
    /**
     * 背景图
     */
    private String backGroundUrl;
    /**
     * 会员类目信息集合
     */
    private List<CustomField> customFieldList;
    /**
     * 自定义入口集合
     */
    private List<CustomCell> customCellList;
    /**
     * 特权说明
     */
    private String prerogative;
    /**
     * 是否一键激活
     */
    private Boolean wxActivate;
    /**
     * 是否显示积分
     */
    private Boolean supplyBonus;
    /**
     * 积分规则
     */
    private BonusRule bonusRule;
    /**
     * 是否支持储值
     */
    private Boolean supplyBalance;
    /**
     * 储值说明
     */
    private String balanceRules;
    /**
     * 团购券专用，团购详情
     */
    private String dealDetail;
    /**
     * 代金券专用，表示起用金额（单位为分）,如果无起用门槛则填0。
     */
    private int leastCost;
    /**
     * 代金券专用，表示减免金额。（单位为分）
     */
    private int reduceCost;
    /**
     * 折扣券专用，表示打折额度（百分比）。填30就是七折。
     */
    private int discount;
    /**
     * 兑换券专用，填写兑换内容的名称。
     */
    private String gift;
    /**
     * 优惠券专用，填写优惠详情。
     */
    private String defaultDetail;
    /**
     * 设置为true时用户领取会员卡后系统自动将其激活，无需调用激活接口，详情见 自动激活 。
     */
    private Boolean autoActivate;

    private String activateUrl;
    /**
     * 礼品卡使用 卡类型
     */
    private String subCardType;
    /**
     * 礼品卡初始余额
     */
    private Double initBalance;

    /**
     * link系统的字段
     */
    private LinkParm linkParm;

    public String getCardType() {
        return cardType;
    }

    public void setCardType(String cardType) {
        this.cardType = cardType;
    }

    public BaseInfo getBaseInfo() {
        return baseInfo;
    }

    public void setBaseInfo(BaseInfo baseInfo) {
        this.baseInfo = baseInfo;
    }

    public AdvancedInfo getAdvancedInfo() {
        return advancedInfo;
    }

    public void setAdvancedInfo(AdvancedInfo advancedInfo) {
        this.advancedInfo = advancedInfo;
    }

    public String getCardId() {
        return cardId;
    }

    public void setCardId(String cardId) {
        this.cardId = cardId;
    }

    public String getBackGroundUrl() {
        return backGroundUrl;
    }

    public void setBackGroundUrl(String backGroundUrl) {
        this.backGroundUrl = backGroundUrl;
    }

    public List<CustomField> getCustomFieldList() {
        return customFieldList;
    }

    public void setCustomFieldList(List<CustomField> customFieldList) {
        this.customFieldList = customFieldList;
    }

    public List<CustomCell> getCustomCellList() {
        return customCellList;
    }

    public void setCustomCellList(List<CustomCell> customCellList) {
        this.customCellList = customCellList;
    }

    public String getPrerogative() {
        return prerogative;
    }

    public void setPrerogative(String prerogative) {
        this.prerogative = prerogative;
    }

    public Boolean getWxActivate() {
        return wxActivate;
    }

    public void setWxActivate(Boolean wxActivate) {
        this.wxActivate = wxActivate;
    }

    public Boolean getSupplyBonus() {
        return supplyBonus;
    }

    public void setSupplyBonus(Boolean supplyBonus) {
        this.supplyBonus = supplyBonus;
    }

    public BonusRule getBonusRule() {
        return bonusRule;
    }

    public void setBonusRule(BonusRule bonusRule) {
        this.bonusRule = bonusRule;
    }

    public Boolean getSupplyBalance() {
        return supplyBalance;
    }

    public void setSupplyBalance(Boolean supplyBalance) {
        this.supplyBalance = supplyBalance;
    }

    public String getBalanceRules() {
        return balanceRules;
    }

    public void setBalanceRules(String balanceRules) {
        this.balanceRules = balanceRules;
    }

    public String getDealDetail() {
        return dealDetail;
    }

    public void setDealDetail(String dealDetail) {
        this.dealDetail = dealDetail;
    }

    public int getLeastCost() {
        return leastCost;
    }

    public void setLeastCost(int leastCost) {
        this.leastCost = leastCost;
    }

    public int getReduceCost() {
        return reduceCost;
    }

    public void setReduceCost(int reduceCost) {
        this.reduceCost = reduceCost;
    }

    public int getDiscount() {
        return discount;
    }

    public void setDiscount(int discount) {
        this.discount = discount;
    }

    public String getGift() {
        return gift;
    }

    public void setGift(String gift) {
        this.gift = gift;
    }

    public String getDefaultDetail() {
        return defaultDetail;
    }

    public void setDefaultDetail(String defaultDetail) {
        this.defaultDetail = defaultDetail;
    }

    public Boolean getAutoActivate() {
        return autoActivate;
    }

    public void setAutoActivate(Boolean autoActivate) {
        this.autoActivate = autoActivate;
    }

    public String getActivateUrl() {
        return activateUrl;
    }

    public void setActivateUrl(String activateUrl) {
        this.activateUrl = activateUrl;
    }

    public String getSubCardType() {
        return subCardType;
    }

    public void setSubCardType(String subCardType) {
        this.subCardType = subCardType;
    }

    public Double getInitBalance() {
        return initBalance;
    }

    public void setInitBalance(Double initBalance) {
        this.initBalance = initBalance;
    }

    public LinkParm getLinkParm() {
        return linkParm;
    }

    public void setLinkParm(LinkParm linkParm) {
        this.linkParm = linkParm;
    }
}
